export const validatePassword = (rule, value, callback) => {
    console.log(rule)
    console.log(value,'validatePassword')
         // 检查密码长度是否在 12 到 20 位之间
  if (value.length < 12 || value.length > 20) {
      return callback(new Error('密码长度应在 12 到 20 位之间'));
  }

  // 检查是否包含汉字
  if (/[\u4e00-\u9fa5]/.test(value)) {
      return callback(new Error('密码不能包含汉字'));
  }

  // 定义不同类型字符的正则表达式
  const specialCharRegex = /[!@&*,.]/;
  const numberRegex = /\d/;
  const lowercaseRegex = /[a-z]/;
  const uppercaseRegex = /[A-Z]/;

  // 统计满足条件的类型数量
  let matchCount = 0;
  if (specialCharRegex.test(value)) matchCount++;
  if (numberRegex.test(value)) matchCount++;
  if (lowercaseRegex.test(value)) matchCount++;
  if (uppercaseRegex.test(value)) matchCount++;

  // 检查是否至少包含 3 种组合
  if (matchCount < 3) {
      return callback(new Error('密码应至少包含特殊字符、数字、小写字母、大写字母中的 3 种组合'));
  }

  // 所有校验通过
  callback();
};


// 手机号校验规则
export const validatePhone = (rule, value, callback) => {
    const regex = /^1[3-9]\d{9}$/;
    if (!regex.test(value)) {
        callback(new Error('请输入正确的手机号码'));
    } else {
        callback();
    }
};


// 邮箱校验规则
export const validateEmail = (rule, value, callback) => {
    const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
    if (!regex.test(value)) {
        callback(new Error('请输入正确的邮箱地址'));
    } else {
        callback();
    }
};
